package org.example.recetario;

import android.content.Context;
import android.database.Cursor;
import android.support.v4.widget.CursorAdapter;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.RatingBar;
import android.widget.TextView;

public class AdaptadorCursorRecetas extends CursorAdapter {
	private LayoutInflater inflador;
	TextView nombre, dificultad , tiempo;
	ImageView foto;
	RatingBar valoracion;

	public AdaptadorCursorRecetas(Context contexto, Cursor c) {
		super(contexto, c, false);
	}

	@Override
	public View newView(Context contexto, Cursor c, ViewGroup padre) {
		inflador = (LayoutInflater) contexto
				.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
		View vista = inflador.inflate(R.layout.elemento_lista, padre, false);
		return vista;
	}

	//Atributos a mostrar de cada receta en la vista principal
	@Override
	public void bindView(View vista, Context contexto, Cursor c) {
		nombre = (TextView) vista.findViewById(R.id.nombre);
		dificultad = (TextView) vista.findViewById(R.id.direccion);
		tiempo = (TextView) vista.findViewById(R.id.distancia);
		foto = (ImageView) vista.findViewById(R.id.foto);
		valoracion = (RatingBar) vista.findViewById(R.id.valoracion);
		
		nombre.setText(c.getString(c.getColumnIndex("nombre")));
		
		int tiempohoras = c.getInt(c.getColumnIndex("tiempohoras"));
		int tiempominutos = c.getInt(c.getColumnIndex("tiempominutos"));
		if (tiempohoras == 0 && tiempominutos==0) 
			tiempo.setText("---");
		else if (tiempohoras == 0)
			tiempo.setText(c.getString(c.getColumnIndex("tiempominutos"))+ "min");			
		else
			tiempo.setText(c.getString(c.getColumnIndex("tiempohoras")) + "h "
					+ c.getString(c.getColumnIndex("tiempominutos")) + "min");
		
		int tipo1 = c.getInt(c.getColumnIndex("categoria"));
		foto.setImageResource(TipoReceta.values()[tipo1].getRecurso());
		foto.setScaleType(ImageView.ScaleType.FIT_END);
		
		int tipo2 = c.getInt(c.getColumnIndex("dificultad"));
		dificultad.setText(DificultadReceta.values()[tipo2].getTexto());
		
		valoracion.setRating(c.getFloat(c.getColumnIndex("valoracion")));

	}

}